﻿using Microsoft.EntityFrameworkCore;
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using WalkingTec.Mvvm.Core;
using System.Text.Json.Serialization;
using nERP.Model;
using nERP.Model._Admin;
using nERP.Model.Wms;
using nERP.Model.Fin;

namespace nERP.Model._Admin
{
    /// <summary>
    /// 字典配置
    /// </summary>
	[Table("DicFields")]

    [Display(Name = "_Model.DicField")]
    public class DicField : TopBasePoco
    {
        [Display(Name = "_Model._DicField._DicFieldName")]
        [Comment("字典配置KEY")]
        public string DicFieldName { get; set; }
        [Display(Name = "_Model._DicField._DicFieldDes")]
        [Comment("字典配置VALUE")]
        public string DicFieldDes { get; set; }
        [Display(Name = "_Model._DicField._Order")]
        [Comment("排序")]
        public int? Order { get; set; }
        [Display(Name = "_Model._DicField._DicDef")]
        public DicDef DicDef { get; set; }
        [Display(Name = "_Model._DicField._DicDef")]
        [Required(ErrorMessage = "Validate.{0}required")]
        public Guid? DicDefId { get; set; }
        [Display(Name = "_Model._OtherInWarehouse._OtherInType")]
        [InverseProperty("OtherInType")]
        public List<OtherInWarehouse> OtherInWarehouse_OtherInType { get; set; }
        [Display(Name = "_Model._OtherOutWarehouse._OtherOutType")]
        [InverseProperty("OtherOutType")]
        public List<OtherOutWarehouse> OtherOutWarehouse_OtherOutType { get; set; }
        [Display(Name = "_Model._Receivable._SettlementType")]
        [InverseProperty("SettlementType")]
        public List<Receivable> Receivable_SettlementType { get; set; }
        [Display(Name = "_Model._Payment._SettlementType")]
        [InverseProperty("SettlementType")]
        public List<Payment> Payment_SettlementType { get; set; }
        [Display(Name = "_Model._OtherIncome._IncomeType")]
        [InverseProperty("IncomeType")]
        public List<OtherIncome> OtherIncome_IncomeType { get; set; }
        [Display(Name = "_Model._OtherOutlay._OutlayType")]
        [InverseProperty("OutlayType")]
        public List<OtherOutlay> OtherOutlay_OutlayType { get; set; }

	}

}
